package com.mallcloud.mall.mall.api.entity.vo;

import com.mallcloud.mall.common.core.constant.enums.mall.PointsProductStockEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@ApiModel(value = "PointProductStockRecordVO", description = "积分商品库存记录表")
@Data
public class PointProductStockRecordVO {

	@ApiModelProperty(value="商品库存编码，主键")
    private Long id;

    @ApiModelProperty(value="积分商品编码")
    private String code;

    @ApiModelProperty(value="积分商品总库存")
    private Long totalStock;

    @ApiModelProperty(value="积分商品现库存")
    private Long currentStock;

	/**
	 * {@link PointsProductStockEnum.OperationTypeEnum}
	 */
    @ApiModelProperty(value="库存操作类型")
    private String operationType;
    private String operationTypeName;
	public void setOperationType(String operationType) {
		this.operationType = operationType;
		this.operationTypeName = PointsProductStockEnum.OperationTypeEnum.getDecs(operationType);
	}

    @ApiModelProperty(value="库存变更数量")
    private Long changeQuantity;

    @ApiModelProperty(value="库存变更日期")
    private Date changeTime;

    @ApiModelProperty(value="库存操作人")
    private String operator;

	/**
	 * {@link PointsProductStockEnum.OperationClassifyEnum}
	 */
    @ApiModelProperty(value="库存操作分类")
    private String OperationClassify;
    private String OperationClassifyName;
	public void setOperationClassify(String operationClassify) {
		this.OperationClassify = operationClassify;
		this.OperationClassifyName = PointsProductStockEnum.OperationClassifyEnum.getDecs(operationClassify);
	}

	/**
	 * {@link PointsProductStockEnum.ReconciliationStatusEnum}
	 */
	@ApiModelProperty(value="对账状态")
    private String reconciliationStatus;
    private String reconciliationStatusName;
	public void setReconciliationStatus(String reconciliationStatus) {
		this.reconciliationStatus = reconciliationStatus;
		this.reconciliationStatusName = PointsProductStockEnum.ReconciliationStatusEnum.getDecs(reconciliationStatus);
	}

	@ApiModelProperty(value="积分兑换记录编码")
    private String RedemptionRecordCode;

}
